#define  _CRT_SECURE_NO_WARNINGS 1

//#include <iostream>
//using namespace std;
//const int N = 1e6+10;
//int a[N], c[N];
//int la;
//typedef long long ll;
//
//void div(int a[], int b, int c[])
//{
//	ll t = 0;
//	for(int i = la-1; i >= 0; i--)
//	{
//		t = t*10 + a[i];
//		c[i] = t / b;
//		t %= b;
//	}
//	while(la > 1 && c[la-1] == 0)
//	{
//		la--;
//	}
//}
//int main()
//{
//	string x;
//	int b;
//	cin >> x >> b;
//	la = x.size();
//	
//	for(int i = 0; i < la; i++)
//	{
//		a[la-i-1] = x[i]-'0';
//	}
//	
//	div(a, b, c);
//	for(int i = la-1; i >= 0; i--)
//	{
//		cout << c[i];
//	}
//	
//	
//	return 0;
//}
//
//
//
//
//



//#include <iostream>
//using namespace std;
//const int N = 1e4+10;
//int a[N], b[N], g[N], k[N];
//int n;
//int x, y;
//
//int find()
//{
//	for(int i = n; i >= 1; i--)
//	{
//		if(x >= a[i] && y >= b[i] && x <= a[i]+g[i] && y <= b[i]+k[i])
//		{
//			return i;
//		}
//	}
//	return -1;
//}
//int main()
//{
//	
//	cin >> n;
//	
//	for(int i = 1; i <= n; i++)
//	{
//		cin >> a[i] >> b[i] >> g[i] >> k[i];
//	}
//	cin >> x >> y;
//	find();
//	cout << find();
//	
//	return 0;
//}



#include <iostream>
using namespace std;
const int N = 1e8 + 10;
int x, y;
int ret;
int day[] = { 0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
int main()
{

	cin >> x >> y;
	for (int i = 1; i <= 12; i++)
	{
		int num;
		for (int j = 1; j <= day[i]; i++)
		{
			int k = j % 10 * 1000 + j / 10 * 100 + i % 10 * 10 + i / 10;
			num = k * 10000 + j * 100 + j;
		}
		if (num >= x && num <= y)
		{
			ret++;
		}
	}
	cout << ret << endl;
	return 0;
}



